joinRoom method Null safety
- {required String token,
- required UserInfo userInfo,
- required RoomConfig roomConfig}
加入房间
多房间场景下,调用 RTCVideo.createRTCRoom 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。
token 动态密钥,用于对进房用户进行鉴权验证。
测试时可使用控制台生成临时 token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 token。
使用不同 AppID 的 App 是不能互通的,请务必保证生成 token 使用的 AppID 和创建引擎时使用的 AppID 相同,否则会导致加入房间失败。
userInfo 用户信息。
roomConfig 房间参数配置,设置房间模式以及是否自动发布或订阅流。
返回值:方法调用结果
- 0:成功。
- -1:失败,userInfo 包含了无效的参数。
- -2:失败,已经在房间内。接口调用成功后,只要收到返回值为 0,且未调用 RTCRoom.leaveRoom 成功,则再次调用进房接口时,无论填写的房间 ID 和用户 ID 是否重复,均触发此返回值。
- -3:失败,room 为空。
注意:
- 同一个 App ID 的同一个房间内,每个用户的用户 ID 必须唯一。如果两个用户的用户 ID 相同,则后进房的用户会将先进房的用户踢出房间,并且先进房的用户会收到 RTCVideoEventHandler.onError 回调通知,错误类型详见 ErrorCode 中的 duplicateLogin。
- 本地用户调用此方法加入房间成功后,会收到 RTCRoomEventHandler.onRoomStateChanged 回调通知。
- 本地用户调用 RTCRoom.setUserVisibility 将自身设为可见后加入房间,远端用户会收到 RTCRoomEventHandler.onUserJoined 回调通知。
- 用户加入房间成功后,在本地网络状况不佳的情况下,SDK 可能会与服务器失去连接,此时 SDK 将会自动重连。重连成功后,本地会收到 RTCRoomEventHandler.onRoomStateChanged 回调通知;若加入房间的是可见用户,则远端用户会收到 RTCRoomEventHandler.onUserJoined 回调通知。
Implementation
Future<int?> joinRoom({
required String token,
required UserInfo userInfo,
required RoomConfig roomConfig,
});